/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package BeansGerenciaveis;

import DAO.CursoDAO;
import bean.AvaliacaoMEC;
import bean.Coordenacao;
import bean.Curso;
import bean.PPP;
import com.sun.org.apache.bcel.internal.generic.AALOAD;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Iterator;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

/**
 *
 * @author archie
 */
@ManagedBean
@SessionScoped
public class CursoConsultaBean implements Serializable{

    
    public CursoConsultaBean() {
        this.curso = new Curso();
        this.listaCursosSimplificada = (ArrayList<Curso>) new CursoDAO().listarCursos();
        this.listaTipologias = new ArrayList<String>();
        this.listaUfs = new ArrayList<String>();
        this.cursos = new ArrayList<Curso>();
        this.pppSelecionado = new PPP();
        this.coordenacaoSelecionada = new Coordenacao();
        this.avaliacaoSelecionada = new AvaliacaoMEC();
        this.consultaTipologia ="";
        this.consultaUf = "";
        this.preencherListas();
       
        
    }

    public Curso getCurso() {
        return curso;
    }

    public void setCurso(Curso curso) {
        
        this.curso = new CursoDAO().buscarCurso(curso.getId());
    }

    public ArrayList<Curso> getListaCursosSimplificada() {
        return listaCursosSimplificada;
    }

    public void setListaCursosSimplificada(ArrayList<Curso> listaCursosSimplificada) {
        this.listaCursosSimplificada = listaCursosSimplificada;
    }

    public String getConsultaTipologia() {
        return consultaTipologia;
    }

    public void setConsultaTipologia(String consultaTipologia) {
        this.consultaTipologia = consultaTipologia;
    }

    public String getConsultaUf() {
       
        return consultaUf;
    }

    public void setConsultaUf(String consultaUf) {
        this.consultaUf = consultaUf;
    }

    public ArrayList<String> getListaUfs() {
       
        return listaUfs;
    }

    public void setListaUfs(ArrayList<String> listaUfs) {
        this.listaUfs = listaUfs;
    }

    public ArrayList<String> getListaTipologias() {
       
        return listaTipologias;
    }
    

    public void setListaTipologias(ArrayList<String> listaTipologias) {
        this.listaTipologias = listaTipologias;
    }

    public ArrayList<Curso> getCursos() {
        return cursos;
    }

    public void setCursos(ArrayList<Curso> cursos) {
        this.cursos = cursos;
    }

    public PPP getPppSelecionado() {
        return pppSelecionado;
    }

    public void setPppSelecionado(PPP pppSelecionado) {
        this.pppSelecionado = pppSelecionado;
    }

    public Coordenacao getCoordenacaoSelecionada() {
        return coordenacaoSelecionada;
    }

    public void setCoordenacaoSelecionada(Coordenacao coordenacaoSelecionada) {
        this.coordenacaoSelecionada = coordenacaoSelecionada;
    }

    public AvaliacaoMEC getAvaliacaoSelecionada() {
        return avaliacaoSelecionada;
    }

    public void setAvaliacaoSelecionada(AvaliacaoMEC avaliacaoSelecionada) {
        this.avaliacaoSelecionada = avaliacaoSelecionada;
    }

   
    
    public void preencherListas(){
        Iterator i = listaCursosSimplificada.iterator();
        while(i.hasNext()){
            Curso c = (Curso)i.next();
            if(!listaUfs.contains(c.getInstituicao().getEstado())){
                listaUfs.add(c.getInstituicao().getEstado());
            }
            if(!listaTipologias.contains(c.getTipologia())){
                listaTipologias.add(c.getTipologia());
            }
        }
    }
    
    public String pesquisar(){
        
        System.out.println("Consultas:" + consultaTipologia + consultaUf);
        this.cursos = (ArrayList<Curso>) new CursoDAO().pesquisar(consultaTipologia, consultaUf);
        return "/eixo_aprendizagem/resultado_pesquisa_curso.xhtml?faces-redirect=true";
    }
    
    
    private ArrayList<String> listaUfs;
    private ArrayList<String> listaTipologias;
    private String consultaTipologia;
    private String consultaUf;
    private Curso curso;
    private ArrayList<Curso> cursos;
    private ArrayList<Curso> listaCursosSimplificada;
    private PPP pppSelecionado;
    private Coordenacao coordenacaoSelecionada;
    private AvaliacaoMEC avaliacaoSelecionada;
    
}
